package com.sz.biz.trade.ord.service;

import com.sz.biz.trade.ord.entity.TrdOrderGoodsRel;
import com.sz.biz.trade.ord.dto.TrdOrderGoodsRelDto;
import com.sz.biz.trade.ord.dto.TrdOrderGoodsRelShortDto;
import com.sz.biz.trade.ord.dto.TrdOrderGoodsTypeShortDto;

import java.util.List;

/**
 * Function: 贸易订单是商品服务 <br>
 * Author: jifeixing <br>
 * Date: 2017-07-15 14:09:00
 */

public interface TrdOrderGoodsRelService {

    /**
     * 订单商品
     * @param trdOrderGoodsRel
     * @return
     */
    void save(TrdOrderGoodsRel trdOrderGoodsRel);

    /**
     * 订单下商品数量
     * @param orderNo
     * @param limit
     * @return
     */
    List<TrdOrderGoodsRelShortDto> findShortByOrderNo(String orderNo, Integer limit);

    /**
     * 订单下商品
     * @param orderNo
     * @return
     */
    List<TrdOrderGoodsRelDto> findByOrderNo(String orderNo, Integer type);

    /**
     * 根据订单号删除
     * @param orderNo
     */
    void deleteByOrderNo(String orderNo, Integer type);

    /**
     * 根据订单号删除(修改状态为删除状态)
     * @param orderNo
     */
    void updateToDelete(String orderNo, Integer type);

    /**
     * 订单下所有商品类别
     * @param orderNo
     * @param limit
     * @return
     */
    List<TrdOrderGoodsTypeShortDto> findGoodsTypeShortByOrderNo(String orderNo, Integer limit);
}
